package tk.uodrad.apex.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import tk.uodrad.apex.project.pojo.dto.PeopleAddNewDTO;
import tk.uodrad.apex.project.pojo.dto.PeopleUpdateDTO;
import tk.uodrad.apex.project.pojo.dto.RepairAddNewDTO;
import tk.uodrad.apex.project.pojo.dto.RepairUpdateDTO;
import tk.uodrad.apex.project.pojo.entity.People;
import tk.uodrad.apex.project.pojo.entity.Repair;
import com.baomidou.mybatisplus.extension.service.IService;
import tk.uodrad.apex.project.pojo.vo.RepairDashboardVO;
import tk.uodrad.apex.project.pojo.vo.RepairListVO;

import java.util.List;

/**
* @author Administrator
* @description 针对表【repair_management】的数据库操作Service
* @createDate 2023-04-08 17:34:21
*/
public interface RepairService extends IService<Repair> {

    /**
     * 保修“是否受理”的状态文本
     */
    String ENABLE_TEXT[] = {"未受理", "已受理"};

    /**
     * 受理保修
     *
     * @param id 尝试启用的类别的id
     */
    void setEnable(Long id);

    /**
     * 未受理保修
     *
     * @param id 尝试禁用的类别的id
     */
    void setDisable(Long id);

    /**
     * 添加单个成员
     * @param repairAddNewDTO 添加成员DTO
     */
    void save(RepairAddNewDTO repairAddNewDTO);

    /**
     * 根据ID修改成员
     * @param repairUpdateDTO 修改成员DTO
     */
    void updateById(RepairUpdateDTO repairUpdateDTO);

    /**
     * 分页查询成员列表
     * @param pageNum 第几页
     * @param pageSize 每页多少条数据
     * @param communityCode 小区编号
     * @return IPage<RepairListVO> 分页对象
     */
    IPage<RepairListVO> list(Integer pageNum, Integer pageSize, String communityCode);

    List<RepairDashboardVO> listDashboard();
}
